@languages: "1c", 
    "abnf", 
    "accesslog", 
    "actionscript", 
    "ada", 
    "apache", 
    "applescript", 
    "cpp", 
    "arduino", 
    "armasm", 
    "xml", 
    "asciidoc", 
    "aspectj", 
    "autohotkey", 
    "autoit", 
    "avrasm", 
    "awk", 
    "axapta", 
    "bash", 
    "basic", 
    "bnf", 
    "brainfuck", 
    "cal", 
    "capnproto", 
    "ceylon", 
    "clean", 
    "clojure", 
    "clojure-repl", 
    "cmake", 
    "coffeescript", 
    "coq", 
    "cos", 
    "crmsh", 
    "crystal", 
    "cs", 
    "csp", 
    "css", 
    "d", 
    "markdown", 
    "dart", 
    "delphi", 
    "diff", 
    "django", 
    "dns", 
    "dockerfile", 
    "dos", 
    "dsconfig", 
    "dts", 
    "dust", 
    "ebnf", 
    "elixir", 
    "elm", 
    "ruby", 
    "erb", 
    "erlang-repl", 
    "erlang", 
    "excel", 
    "fix", 
    "flix", 
    "fortran", 
    "fsharp", 
    "gams", 
    "gauss", 
    "gcode", 
    "gherkin", 
    "glsl", 
    "go", 
    "golo", 
    "gradle", 
    "groovy", 
    "haml", 
    "handlebars", 
    "haskell", 
    "haxe", 
    "hsp", 
    "htmlbars", 
    "http", 
    "hy", 
    "inform7", 
    "ini", 
    "irpf90", 
    "java", 
    "javascript", 
    "jboss-cli", 
    "json", 
    "julia", 
    "julia-repl", 
    "kotlin", 
    "lasso", 
    "ldif", 
    "leaf", 
    "less", 
    "lisp", 
    "livecodeserver", 
    "livescript", 
    "llvm", 
    "lsl", 
    "lua", 
    "makefile", 
    "mathematica", 
    "matlab", 
    "maxima", 
    "mel", 
    "mercury", 
    "mipsasm", 
    "mizar", 
    "perl", 
    "mojolicious", 
    "monkey", 
    "moonscript", 
    "n1ql", 
    "nginx", 
    "nimrod", 
    "nix", 
    "nsis", 
    "objectivec", 
    "ocaml", 
    "openscad", 
    "oxygene", 
    "parser3", 
    "pf", 
    "php", 
    "pony", 
    "powershell", 
    "processing", 
    "profile", 
    "prolog", 
    "protobuf", 
    "puppet", 
    "purebasic", 
    "python", 
    "q", 
    "qml", 
    "r", 
    "rib", 
    "roboconf", 
    "routeros", 
    "rsl", 
    "ruleslanguage", 
    "rust", 
    "scala", 
    "scheme", 
    "scilab", 
    "scss", 
    "shell", 
    "smali", 
    "smalltalk", 
    "sml", 
    "sqf", 
    "sql", 
    "stan", 
    "stata", 
    "step21", 
    "stylus", 
    "subunit", 
    "swift", 
    "taggerscript", 
    "yaml", 
    "tap", 
    "tcl", 
    "tex", 
    "thrift", 
    "tp", 
    "twig", 
    "typescript", 
    "vala", 
    "vbnet", 
    "vbscript", 
    "vbscript-html", 
    "verilog", 
    "vhdl", 
    "vim", 
    "x86asm", 
    "xl", 
    "xquery", 
    "zephir",
    
    // aliases
    "as", 
    "apacheconf", 
    "osascript", 
    "c", 
    "cc", 
    "h", 
    "c++", 
    "h++", 
    "hpp", 
    "arm", 
    "html", 
    "xhtml", 
    "rss", 
    "atom", 
    "xjb", 
    "xsd", 
    "xsl", 
    "plist", 
    "adoc", 
    "ahk", 
    "sh", 
    "zsh", 
    "bf", 
    "capnp", 
    "icl", 
    "dcl", 
    "clj", 
    "cmake.in", 
    "coffee", 
    "cson", 
    "iced", 
    "cls", 
    "crm", 
    "pcmk", 
    "cr", 
    "csharp", 
    "md", 
    "mkdown", 
    "mkd", 
    "dpr", 
    "dfm", 
    "pas", 
    "pascal", 
    "freepascal", 
    "lazarus", 
    "lpr", 
    "lfm", 
    "patch", 
    "jinja", 
    "bind", 
    "zone", 
    "docker", 
    "bat", 
    "cmd", 
    "dst", 
    "rb", 
    "gemspec", 
    "podspec", 
    "thor", 
    "irb", 
    "erl", 
    "xlsx", 
    "xls", 
    "f90", 
    "f95", 
    "fs", 
    "gms", 
    "gss", 
    "nc", 
    "feature", 
    "golang", 
    "hbs", 
    "html.hbs", 
    "html.handlebars", 
    "hs", 
    "hx", 
    "https", 
    "hylang", 
    "i7", 
    "toml", 
    "jsp", 
    "js", 
    "jsx", 
    "wildfly-cli", 
    "ls", 
    "lassoscript", 
    "mk", 
    "mak", 
    "mma", 
    "m", 
    "moo", 
    "mips", 
    "pl", 
    "pm", 
    "moon", 
    "nginxconf", 
    "nim", 
    "nixos", 
    "mm", 
    "objc", 
    "obj-c", 
    "ml", 
    "scad", 
    "pf.conf", 
    "php3", 
    "php4", 
    "php5", 
    "php6", 
    "ps", 
    "pp", 
    "pb", 
    "pbi", 
    "py", 
    "gyp", 
    "k", 
    "kdb", 
    "qt", 
    "graph", 
    "instances", 
    "mikrotik", 
    "rs", 
    "sci", 
    "console", 
    "st", 
    "do", 
    "ado", 
    "p21", 
    "step", 
    "stp", 
    "styl", 
    "yml", 
    "YAML", 
    "tk", 
    "craftcms", 
    "ts", 
    "vb", 
    "vbs", 
    "v", 
    "sv", 
    "svh", 
    "tao", 
    "xpath", 
    "xq", 
    "zep";


// language label
.language-label(@i: length(@languages)) when (@i > 0) {
    .language-label(@i - 1);
    @language: extract(@languages, @i);
    &[class~=@{language}]:before {
        content: @language;
    }
}


@code-bg: #353535;
.highlight {
    display: block;
    width: 100%;
    overflow-x: auto;
    font-size: 14px;
    line-height: 16px;
    background-color: #272822;
    background-image: linear-gradient(@code-bg, @code-bg);
    background-repeat: repeat-x;
    background-size: 100% 28px;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;

    &:before {
        content: 'code';
        display: block;
        padding: 0 8px;
        line-height: 28px;
        color: #989898;
        text-transform: capitalize;
    }
    .language-label();

    .gutter {
        width: 30px;
        
        pre {
            padding-right: 8px;
            padding-left: 8px;
            color: #90908a;
            text-align: right;
        }
    }
    .code {}
    .line {}

    &,
    .tag,
    .subst {
        color: #f8f8f2;
    }

    .strong,
    .emphasis {
        color: #a8a8a2;
    }

    .bullet,
    .quote,
    .number,
    .regexp,
    .literal,
    .link {
        color: #ae81ff;
    }

    .code,
    .title,
    .section,
    .selector-class {
        color: #fff;
    }

    .strong {
        font-weight: bold
    }

    .emphasis {
        font-style: italic
    }

    .keyword,
    .selector-tag,
    .name {
        color: #f92672;
    }

    .attr {
        color: #a6e22c;
    }

    .symbol,
    .attribute {
        color: #66d9ef
    }

    .params {
        color: #fd9720;
    }

    .class .title,
    .function .title {
        color: #a6e22e;
    }

    .string,
    .type,
    .built_in,
    .builtin-name,
    .selector-id,
    .selector-attr,
    .selector-pseudo,
    .addition,
    .variable,
    .template-variable {
        color: #e6db74
    }

    .comment,
    .deletion,
    .meta {
        color: #75715e
    }
}

.markdown-body .highlight {
    margin-bottom: 16px;
    
    table {
        margin-bottom: 0;

        tr {
            background-color: transparent;
            border-top: none;
        }
        td {
            padding: 0;
            border: none;
        }
    }
    pre {
        margin-bottom: 0;
        background-color: transparent;
        border-radius: 0;
    }
}
